[INFO] cloning repository https://github.com/code-monad/ckb-discovery
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/code-monad/ckb-discovery" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcode-monad%2Fckb-discovery", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcode-monad%2Fckb-discovery'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 75db7c3b8437b5f1a0b7f98bb4619ba02c5186fb
[INFO] fixing code-monad/ckb-discovery against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcode-monad%2Fckb-discovery" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/code-monad/ckb-discovery
[INFO] finished tweaking git repo https://github.com/code-monad/ckb-discovery
[INFO] tweaked toml for git repo https://github.com/code-monad/ckb-discovery written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/code-monad/ckb-discovery on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/code-monad/ckb-discovery already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b81e7ac84fd7774e7c2e977fbc4358291ad7be37f23d427e1f18e85f93b4be72
[INFO] running `Command { std: "docker" "start" "b81e7ac84fd7774e7c2e977fbc4358291ad7be37f23d427e1f18e85f93b4be72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b81e7ac84fd7774e7c2e977fbc4358291ad7be37f23d427e1f18e85f93b4be72" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b81e7ac84fd7774e7c2e977fbc4358291ad7be37f23d427e1f18e85f93b4be72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b81e7ac84fd7774e7c2e977fbc4358291ad7be37f23d427e1f18e85f93b4be72" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating marci/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating types/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating exposed/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling zmij v1.0.20
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]    Compiling openssl-src v300.5.5+3.5.5
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling heapsize v0.4.2
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling serde_derive_internals v0.26.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling ckb_schemars v0.8.22
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]    Compiling ckb_schemars_derive v0.8.22
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]     Checking faster-hex v0.6.1
[INFO] [stderr]    Compiling numext-constructor v0.1.6
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling paho-mqtt-sys v0.10.3
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]    Compiling blake2b-rs v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling ckb-occupied-capacity-core v0.120.0
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling numext-fixed-uint-core v0.1.6
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling ckb-fixed-hash-core v0.120.0
[INFO] [stderr]    Compiling ckb-occupied-capacity-macros v0.120.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking ckb-discovery-types v0.1.0 (/opt/rustwide/workdir/types)
[INFO] [stderr]    Migrating types/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking ckb-occupied-capacity v0.120.0
[INFO] [stderr]    Compiling ckb-fixed-hash-macros v0.120.0
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking blake2b-ref v0.3.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling tentacle-secio v0.6.7
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]     Checking unsigned-varint v0.8.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling bytestring v1.5.0
[INFO] [stderr]     Checking ckb-hash v0.120.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling numext-fixed-uint-hack v0.1.6
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking deranged v0.5.5
[INFO] [stderr]     Checking actix-rt v2.11.0
[INFO] [stderr]     Checking ckb-fixed-hash v0.120.0
[INFO] [stderr]     Checking secp256k1 v0.30.0
[INFO] [stderr]     Checking ckb-error v0.120.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking numext-fixed-uint v0.1.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking molecule v0.9.2
[INFO] [stderr]     Checking molecule v0.8.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking actix-service v2.0.3
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking tokio-yamux v0.3.17
[INFO] [stderr]     Checking tentacle-multiaddr v0.3.6
[INFO] [stderr]     Checking fast-socks5 v0.10.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking golomb-coded-set v0.2.1
[INFO] [stderr]     Checking brotli v8.0.2
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking ckb-gen-types v0.120.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking ckb-rational v0.120.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]     Checking ckb-channel v0.120.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking merkle-cbt v0.3.2
[INFO] [stderr]     Checking ckb-merkle-mountain-range v0.5.2
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking xxhash-rust v0.8.15
[INFO] [stderr]     Checking arcstr v1.2.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking ckb-constant v0.120.0
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]     Checking nanoid v0.4.0
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking impl-more v0.1.9
[INFO] [stderr]     Checking clap_lex v0.7.7
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking include_dir v0.7.4
[INFO] [stderr]     Checking clap_builder v4.5.57
[INFO] [stderr]     Checking lru v0.10.1
[INFO] [stderr]     Checking ipnetwork v0.20.0
[INFO] [stderr]     Checking actix-http v3.11.2
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking clap v4.5.57
[INFO] [stderr]     Checking ckb-types v0.120.0
[INFO] [stderr]     Checking actix-web v4.12.1
[INFO] [stderr]     Checking redis v1.0.3
[INFO] [stderr]     Checking actix-cors v0.6.5
[INFO] [stderr]     Checking exposed v0.1.0 (/opt/rustwide/workdir/exposed)
[INFO] [stderr]    Migrating exposed/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> exposed/src/main.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout]  80 |     let mut client = client.lock().await;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 181 |     HttpResponse::Ok().json(PeerStatus {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 186 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.11.2/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed exposed/src/main.rs (4 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> exposed/src/main.rs:243:22
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let mut builder = HttpResponse::Ok();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `builder` calls a custom destructor
[INFO] [stdout]     |             `builder` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 243 |         builder.json(data.data.lock().await.clone())
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                      |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 244 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `builder` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.11.2/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> exposed/src/main.rs:243:39
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let mut builder = HttpResponse::Ok();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `builder` calls a custom destructor
[INFO] [stdout]     |             `builder` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 243 |         builder.json(data.data.lock().await.clone())
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 244 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `builder` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.11.2/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> exposed/src/main.rs:274:11
[INFO] [stdout]      |
[INFO] [stdout]  273 |     let mut client = client.lock().await;
[INFO] [stdout]      |         ----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout]  274 |     match client.get("service.last_update".to_string()).await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                             |
[INFO] [stdout]      |           |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> exposed/src/main.rs:274:57
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let mut client = client.lock().await;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] 274 |     match client.get("service.last_update".to_string()).await {
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> exposed/src/main.rs:337:24
[INFO] [stdout]      |
[INFO] [stdout]  327 |               client.get(format!("peer.online.{}", peer_id)).await?
[INFO] [stdout]      |               ----------------------------------------------------
[INFO] [stdout]      |               |                                              |
[INFO] [stdout]      |               |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  328 |           } else if online2_peers.contains(&peer_id) {
[INFO] [stdout]  329 |               client.get(format!("peer.online2.{}", peer_id)).await?
[INFO] [stdout]      |               -----------------------------------------------------
[INFO] [stdout]      |               |                                               |
[INFO] [stdout]      |               |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  337 |           } else { match Regex::new(r"^(.*?)[^0-9.].*$") { Ok(regex) => {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      -----
[INFO] [stdout]      |                          |                                    |
[INFO] [stdout]      |                          |                                    `regex` calls a custom destructor
[INFO] [stdout]      |                          |                                    `regex` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                          up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  345 |           }}};
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  346 |
[INFO] [stdout]  347 |           let country: Option<String> = client
[INFO] [stdout]      |  _______________________________________-
[INFO] [stdout]  348 | |             .get(format!("peer_info.{}.country", peer_id))
[INFO] [stdout]  349 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  350 |               .unwrap_or_default();
[INFO] [stdout]  351 |           let city: Option<String> = client
[INFO] [stdout]      |  ____________________________________-
[INFO] [stdout]      | |____________________________________|
[INFO] [stdout]  352 | |             .get(format!("peer_info.{}.city", peer_id))
[INFO] [stdout]  353 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |______________|___|
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  356 |           let (latitude, longitude) = match client
[INFO] [stdout]      |  ___________________________________________-
[INFO] [stdout]      | |___________________________________________|
[INFO] [stdout]      | |___________________________________________|
[INFO] [stdout]      | |___________________________________________|
[INFO] [stdout]  357 | |             .get::<String, String>(format!("peer_info.{}.pos", peer_id))
[INFO] [stdout]  358 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |______________|___|
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  370 |           let full: Option<bool> = client
[INFO] [stdout]      |  __________________________________-
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]  371 | |             .get(format!("peer_info.{}.full", peer_id))
[INFO] [stdout]  372 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |______________|___|
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  375 |           let timestamp: u64 = client
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]      | |______________________________|
[INFO] [stdout]  376 | |             .get(format!("peer_info.{}.last_seen", peer_id))
[INFO] [stdout]  377 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |______________|___|
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `regex` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> exposed/src/main.rs:463:15
[INFO] [stdout]      |
[INFO] [stdout]  409 | #[actix_web::main]
[INFO] [stdout]      |                  - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  410 | async fn main() -> std::io::Result<()> {
[INFO] [stdout]  411 |     let matches = clap::Command::new("Marci")
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `matches` calls a custom destructor
[INFO] [stdout]      |         `matches` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  434 |     let redis_client = redis::Client::open(redis_url.as_str()).expect("Error redis url!");
[INFO] [stdout]      |         ------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `redis_client` calls a custom destructor
[INFO] [stdout]      |         `redis_client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  463 |     app.run().await
[INFO] [stdout]      |               ^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `matches` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `redis_client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> exposed/src/main.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout]  80 |     let mut client = client.lock().await;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 181 |     HttpResponse::Ok().json(PeerStatus {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 186 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.11.2/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> exposed/src/main.rs:243:22
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let mut builder = HttpResponse::Ok();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `builder` calls a custom destructor
[INFO] [stdout]     |             `builder` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 243 |         builder.json(data.data.lock().await.clone())
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                      |                |
[INFO] [stdout]     |                      |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                      |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 244 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `builder` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.11.2/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> exposed/src/main.rs:243:39
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let mut builder = HttpResponse::Ok();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `builder` calls a custom destructor
[INFO] [stdout]     |             `builder` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 243 |         builder.json(data.data.lock().await.clone())
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 244 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `builder` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.11.2/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> exposed/src/main.rs:274:11
[INFO] [stdout]      |
[INFO] [stdout]  273 |     let mut client = client.lock().await;
[INFO] [stdout]      |         ----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout]  274 |     match client.get("service.last_update".to_string()).await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                             |
[INFO] [stdout]      |           |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> exposed/src/main.rs:274:57
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let mut client = client.lock().await;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] 274 |     match client.get("service.last_update".to_string()).await {
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> exposed/src/main.rs:337:24
[INFO] [stdout]      |
[INFO] [stdout]  327 |               client.get(format!("peer.online.{}", peer_id)).await?
[INFO] [stdout]      |               ----------------------------------------------------
[INFO] [stdout]      |               |                                              |
[INFO] [stdout]      |               |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  328 |           } else if online2_peers.contains(&peer_id) {
[INFO] [stdout]  329 |               client.get(format!("peer.online2.{}", peer_id)).await?
[INFO] [stdout]      |               -----------------------------------------------------
[INFO] [stdout]      |               |                                               |
[INFO] [stdout]      |               |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  337 |           } else { match Regex::new(r"^(.*?)[^0-9.].*$") { Ok(regex) => {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      -----
[INFO] [stdout]      |                          |                                    |
[INFO] [stdout]      |                          |                                    `regex` calls a custom destructor
[INFO] [stdout]      |                          |                                    `regex` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                          up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  345 |           }}};
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  346 |
[INFO] [stdout]  347 |           let country: Option<String> = client
[INFO] [stdout]      |  _______________________________________-
[INFO] [stdout]  348 | |             .get(format!("peer_info.{}.country", peer_id))
[INFO] [stdout]  349 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  350 |               .unwrap_or_default();
[INFO] [stdout]  351 |           let city: Option<String> = client
[INFO] [stdout]      |  ____________________________________-
[INFO] [stdout]      | |____________________________________|
[INFO] [stdout]  352 | |             .get(format!("peer_info.{}.city", peer_id))
[INFO] [stdout]  353 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |______________|___|
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  356 |           let (latitude, longitude) = match client
[INFO] [stdout]      |  ___________________________________________-
[INFO] [stdout]      | |___________________________________________|
[INFO] [stdout]      | |___________________________________________|
[INFO] [stdout]      | |___________________________________________|
[INFO] [stdout]  357 | |             .get::<String, String>(format!("peer_info.{}.pos", peer_id))
[INFO] [stdout]  358 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |______________|___|
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |______________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  370 |           let full: Option<bool> = client
[INFO] [stdout]      |  __________________________________-
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]  371 | |             .get(format!("peer_info.{}.full", peer_id))
[INFO] [stdout]  372 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |______________|___|
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  375 |           let timestamp: u64 = client
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]      | |______________________________|
[INFO] [stdout]  376 | |             .get(format!("peer_info.{}.last_seen", peer_id))
[INFO] [stdout]  377 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |______________|___|
[INFO] [stdout]      | |______________|___this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                |   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `regex` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> exposed/src/main.rs:463:15
[INFO] [stdout]      |
[INFO] [stdout]  409 | #[actix_web::main]
[INFO] [stdout]      |                  - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  410 | async fn main() -> std::io::Result<()> {
[INFO] [stdout]  411 |     let matches = clap::Command::new("Marci")
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `matches` calls a custom destructor
[INFO] [stdout]      |         `matches` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  434 |     let redis_client = redis::Client::open(redis_url.as_str()).expect("Error redis url!");
[INFO] [stdout]      |         ------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `redis_client` calls a custom destructor
[INFO] [stdout]      |         `redis_client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  463 |     app.run().await
[INFO] [stdout]      |               ^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `matches` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `redis_client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arcstr-1.2.0/src/arc_str.rs:1022:1
[INFO] [stdout]      |
[INFO] [stdout] 1022 | impl Drop for ArcStr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking paho-mqtt v0.13.3
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking tentacle v0.7.4
[INFO] [stderr]     Checking ipinfo v2.2.0
[INFO] [stderr]     Checking marci v0.1.0 (/opt/rustwide/workdir/marci)
[INFO] [stderr]    Migrating marci/src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed marci/src/main.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> marci/src/main.rs:314:38
[INFO] [stdout]      |
[INFO] [stdout]  269 |         while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                        -------                    -----
[INFO] [stdout]      |                        |                          |
[INFO] [stdout]      |                        |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `msg_opt` calls a custom destructor
[INFO] [stdout]      |                        `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]  270 |             if let Some(msg) = msg_opt {
[INFO] [stdout]      |                         ---
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `msg` calls a custom destructor
[INFO] [stdout]      |                         `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  275 |                             if let Err(error) = online_tx.send(msg).await {
[INFO] [stdout]      |                                                 -------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                             if let Err(error) = online_tx.send(msg).await {
[INFO] [stdout]      |                                                 -------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  291 |                             if let Err(error) = reachable_tx.send(msg).await {
[INFO] [stdout]      |                                                 ----------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  301 |                             if let Err(error) = unknown_tx.send(msg).await {
[INFO] [stdout]      |                                                 --------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  314 |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      |                               ---    ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                               |      |                       |
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                               |      |                       up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               |      |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                               |      up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                               |      `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `err` calls a custom destructor
[INFO] [stdout]      |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                     ------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  318 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> marci/src/main.rs:314:38
[INFO] [stdout]      |
[INFO] [stdout]  314 |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      |                               ---    ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                               |      |                       |
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                               |      |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               |      |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                               |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      `__awaitee` calls a custom destructor
[INFO] [stdout]      |                               |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `err` calls a custom destructor
[INFO] [stdout]      |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                     ------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  318 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> marci/src/main.rs:269:35
[INFO] [stdout]      |
[INFO] [stdout]  269 |         while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                        -------    ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |          |               |
[INFO] [stdout]      |                        |          |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |          |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                        |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        `msg_opt` calls a custom destructor
[INFO] [stdout]      |                        `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]  270 |             if let Some(msg) = msg_opt {
[INFO] [stdout]      |                         ---
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `msg` calls a custom destructor
[INFO] [stdout]      |                         `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  275 |                             if let Err(error) = online_tx.send(msg).await {
[INFO] [stdout]      |                                                 -------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                             if let Err(error) = online_tx.send(msg).await {
[INFO] [stdout]      |                                                 -------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  291 |                             if let Err(error) = reachable_tx.send(msg).await {
[INFO] [stdout]      |                                                 ----------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  301 |                             if let Err(error) = unknown_tx.send(msg).await {
[INFO] [stdout]      |                                                 --------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  314 |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      |                               ---    -----------------------------
[INFO] [stdout]      |                               |      |                       |
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               |      |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                               |      `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `err` calls a custom destructor
[INFO] [stdout]      |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                     ------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  321 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         IPINFO_CACHE.get_or_init(Default::default);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 121 -     static mut IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout] 121 +     static IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         IPINFO_CACHE.get_mut().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 121 -     static mut IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout] 121 +     static IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 | /         IPINFO.get_or_init(|| {
[INFO] [stdout] 136 | |             let ipinfo_io_token = match ::std::env::var("IPINFO_IO_TOKEN") {
[INFO] [stdout] 137 | |                 Ok(token) if !token.is_empty() => Some(token),
[INFO] [stdout] 138 | |                 _ => {
[INFO] [stdout] ...   |
[INFO] [stdout] 148 | |             .expect("Connect to https://ipinfo.io")
[INFO] [stdout] 149 | |         });
[INFO] [stdout]     | |__________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 131 -     static mut IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout] 131 +     static IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         IPINFO.get_mut().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 131 -     static mut IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout] 131 +     static IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ckb-discovery v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> marci/src/main.rs:314:38
[INFO] [stdout]      |
[INFO] [stdout]  269 |         while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                        -------                    -----
[INFO] [stdout]      |                        |                          |
[INFO] [stdout]      |                        |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `msg_opt` calls a custom destructor
[INFO] [stdout]      |                        `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]  270 |             if let Some(msg) = msg_opt {
[INFO] [stdout]      |                         ---
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `msg` calls a custom destructor
[INFO] [stdout]      |                         `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  275 |                             if let Err(error) = online_tx.send(msg).await {
[INFO] [stdout]      |                                                 -------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                             if let Err(error) = online_tx.send(msg).await {
[INFO] [stdout]      |                                                 -------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  291 |                             if let Err(error) = reachable_tx.send(msg).await {
[INFO] [stdout]      |                                                 ----------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  301 |                             if let Err(error) = unknown_tx.send(msg).await {
[INFO] [stdout]      |                                                 --------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  314 |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      |                               ---    ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                               |      |                       |
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                               |      |                       up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               |      |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                               |      up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                               |      `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `err` calls a custom destructor
[INFO] [stdout]      |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                     ------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  318 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> marci/src/main.rs:314:38
[INFO] [stdout]      |
[INFO] [stdout]  314 |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      |                               ---    ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                               |      |                       |
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                               |      |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               |      |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                               |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      `__awaitee` calls a custom destructor
[INFO] [stdout]      |                               |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `err` calls a custom destructor
[INFO] [stdout]      |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                     ------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  318 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> marci/src/main.rs:269:35
[INFO] [stdout]      |
[INFO] [stdout]  269 |         while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                        -------    ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |          |               |
[INFO] [stdout]      |                        |          |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |          |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                        |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        `msg_opt` calls a custom destructor
[INFO] [stdout]      |                        `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]  270 |             if let Some(msg) = msg_opt {
[INFO] [stdout]      |                         ---
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `msg` calls a custom destructor
[INFO] [stdout]      |                         `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  275 |                             if let Err(error) = online_tx.send(msg).await {
[INFO] [stdout]      |                                                 -------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  283 |                             if let Err(error) = online_tx.send(msg).await {
[INFO] [stdout]      |                                                 -------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  291 |                             if let Err(error) = reachable_tx.send(msg).await {
[INFO] [stdout]      |                                                 ----------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  301 |                             if let Err(error) = unknown_tx.send(msg).await {
[INFO] [stdout]      |                                                 --------------------------
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  314 |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      |                               ---    -----------------------------
[INFO] [stdout]      |                               |      |                       |
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               |      |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                               |      `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `err` calls a custom destructor
[INFO] [stdout]      |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                     ------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  321 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         IPINFO_CACHE.get_or_init(Default::default);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 121 -     static mut IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout] 121 +     static IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         IPINFO_CACHE.get_mut().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 121 -     static mut IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout] 121 +     static IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 | /         IPINFO.get_or_init(|| {
[INFO] [stdout] 136 | |             let ipinfo_io_token = match ::std::env::var("IPINFO_IO_TOKEN") {
[INFO] [stdout] 137 | |                 Ok(token) if !token.is_empty() => Some(token),
[INFO] [stdout] 138 | |                 _ => {
[INFO] [stdout] ...   |
[INFO] [stdout] 148 | |             .expect("Connect to https://ipinfo.io")
[INFO] [stdout] 149 | |         });
[INFO] [stdout]     | |__________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 131 -     static mut IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout] 131 +     static IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         IPINFO.get_mut().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 131 -     static mut IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout] 131 +     static IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/handler.rs (1 fix)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/main.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:106:50
[INFO] [stdout]      |
[INFO] [stdout]   92 |           while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                          -------                    -----
[INFO] [stdout]      |                          |                          |
[INFO] [stdout]      |                          |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg_opt` calls a custom destructor
[INFO] [stdout]      |                          `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |               if let Some(msg) = msg_opt {
[INFO] [stdout]      |                           ---
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `msg` calls a custom destructor
[INFO] [stdout]      |                           `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  101 |                                   for addr in addrs.into_iter().flatten() {
[INFO] [stdout]      |                                       ----    ---------------------------
[INFO] [stdout]      |                                       |       |
[INFO] [stdout]      |                                       |       `iter` calls a custom destructor
[INFO] [stdout]      |                                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       `addr` calls a custom destructor
[INFO] [stdout]      |                                       `addr` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  104 | /                                             pudge_controller
[INFO] [stdout]  105 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  106 | |                                                 .await
[INFO] [stdout]      | |                                                  ^^^^-
[INFO] [stdout]      | |                                                  |   |
[INFO] [stdout]      | |__________________________________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  107 |                                           }
[INFO] [stdout]      |                                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  108 |                                           CKBNetworkType::Mirana => {
[INFO] [stdout]  109 | /                                             mirana_controller
[INFO] [stdout]  110 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  111 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |______________________________________________________|
[INFO] [stdout]      | |______________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  131 | |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      | |                               ---    -----------------------------
[INFO] [stdout]      | |                               |      |                       |
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `err` calls a custom destructor
[INFO] [stdout]      | |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  134 | |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      | |                     ------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:111:50
[INFO] [stdout]      |
[INFO] [stdout]   92 |           while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                          -------                    -----
[INFO] [stdout]      |                          |                          |
[INFO] [stdout]      |                          |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg_opt` calls a custom destructor
[INFO] [stdout]      |                          `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |               if let Some(msg) = msg_opt {
[INFO] [stdout]      |                           ---
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `msg` calls a custom destructor
[INFO] [stdout]      |                           `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  101 |                                   for addr in addrs.into_iter().flatten() {
[INFO] [stdout]      |                                       ----    ---------------------------
[INFO] [stdout]      |                                       |       |
[INFO] [stdout]      |                                       |       `iter` calls a custom destructor
[INFO] [stdout]      |                                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       `addr` calls a custom destructor
[INFO] [stdout]      |                                       `addr` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  104 | /                                             pudge_controller
[INFO] [stdout]  105 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  106 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |                                                      |
[INFO] [stdout]      | |______________________________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  109 | /                                             mirana_controller
[INFO] [stdout]  110 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  111 | |                                                 .await
[INFO] [stdout]      | |                                                  ^^^^-
[INFO] [stdout]      | |__________________________________________________|___|
[INFO] [stdout]      | |__________________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                    |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  112 | |                                         }
[INFO] [stdout]      | |                                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  131 | |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      | |                               ---    -----------------------------
[INFO] [stdout]      | |                               |      |                       |
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `err` calls a custom destructor
[INFO] [stdout]      | |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  134 | |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      | |                     ------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:131:38
[INFO] [stdout]      |
[INFO] [stdout]   92 |           while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                          -------                    -----
[INFO] [stdout]      |                          |                          |
[INFO] [stdout]      |                          |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg_opt` calls a custom destructor
[INFO] [stdout]      |                          `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |               if let Some(msg) = msg_opt {
[INFO] [stdout]      |                           ---
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `msg` calls a custom destructor
[INFO] [stdout]      |                           `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  101 |                                   for addr in addrs.into_iter().flatten() {
[INFO] [stdout]      |                                       ----    ---------------------------
[INFO] [stdout]      |                                       |       |
[INFO] [stdout]      |                                       |       `iter` calls a custom destructor
[INFO] [stdout]      |                                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       `addr` calls a custom destructor
[INFO] [stdout]      |                                       `addr` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  104 | /                                             pudge_controller
[INFO] [stdout]  105 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  106 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |                                                      |
[INFO] [stdout]      | |______________________________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  109 | /                                             mirana_controller
[INFO] [stdout]  110 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  111 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |______________________________________________________|
[INFO] [stdout]      | |______________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  131 | |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      | |                               ---    ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      | |                               |      |                       |
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                               |      |                       up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                               |      up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `err` calls a custom destructor
[INFO] [stdout]      | |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  134 | |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      | |                     ------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  135 | |                 }
[INFO] [stdout]      | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:131:38
[INFO] [stdout]      |
[INFO] [stdout]  131 |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      |                               ---    ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                               |      |                       |
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                               |      |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               |      |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                               |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      `__awaitee` calls a custom destructor
[INFO] [stdout]      |                               |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `err` calls a custom destructor
[INFO] [stdout]      |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  134 |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                     ------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  135 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:92:35
[INFO] [stdout]      |
[INFO] [stdout]   92 |           while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                          -------    ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                          |          |               |
[INFO] [stdout]      |                          |          |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |          |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |          this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                          |          up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          `msg_opt` calls a custom destructor
[INFO] [stdout]      |                          `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |               if let Some(msg) = msg_opt {
[INFO] [stdout]      |                           ---
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `msg` calls a custom destructor
[INFO] [stdout]      |                           `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  101 |                                   for addr in addrs.into_iter().flatten() {
[INFO] [stdout]      |                                       ----    ---------------------------
[INFO] [stdout]      |                                       |       |
[INFO] [stdout]      |                                       |       `iter` calls a custom destructor
[INFO] [stdout]      |                                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       `addr` calls a custom destructor
[INFO] [stdout]      |                                       `addr` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  104 | /                                             pudge_controller
[INFO] [stdout]  105 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  106 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |                                                      |
[INFO] [stdout]      | |______________________________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  109 | /                                             mirana_controller
[INFO] [stdout]  110 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  111 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |______________________________________________________|
[INFO] [stdout]      | |______________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  131 | |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      | |                               ---    -----------------------------
[INFO] [stdout]      | |                               |      |                       |
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `err` calls a custom destructor
[INFO] [stdout]      | |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  134 | |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      | |                     ------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  138 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:106:50
[INFO] [stdout]      |
[INFO] [stdout]   92 |           while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                          -------                    -----
[INFO] [stdout]      |                          |                          |
[INFO] [stdout]      |                          |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg_opt` calls a custom destructor
[INFO] [stdout]      |                          `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |               if let Some(msg) = msg_opt {
[INFO] [stdout]      |                           ---
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `msg` calls a custom destructor
[INFO] [stdout]      |                           `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  101 |                                   for addr in addrs.into_iter().flatten() {
[INFO] [stdout]      |                                       ----    ---------------------------
[INFO] [stdout]      |                                       |       |
[INFO] [stdout]      |                                       |       `iter` calls a custom destructor
[INFO] [stdout]      |                                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       `addr` calls a custom destructor
[INFO] [stdout]      |                                       `addr` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  104 | /                                             pudge_controller
[INFO] [stdout]  105 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  106 | |                                                 .await
[INFO] [stdout]      | |                                                  ^^^^-
[INFO] [stdout]      | |                                                  |   |
[INFO] [stdout]      | |__________________________________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  107 |                                           }
[INFO] [stdout]      |                                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  108 |                                           CKBNetworkType::Mirana => {
[INFO] [stdout]  109 | /                                             mirana_controller
[INFO] [stdout]  110 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  111 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |______________________________________________________|
[INFO] [stdout]      | |______________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  131 | |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      | |                               ---    -----------------------------
[INFO] [stdout]      | |                               |      |                       |
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `err` calls a custom destructor
[INFO] [stdout]      | |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  134 | |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      | |                     ------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:111:50
[INFO] [stdout]      |
[INFO] [stdout]   92 |           while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                          -------                    -----
[INFO] [stdout]      |                          |                          |
[INFO] [stdout]      |                          |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg_opt` calls a custom destructor
[INFO] [stdout]      |                          `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |               if let Some(msg) = msg_opt {
[INFO] [stdout]      |                           ---
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `msg` calls a custom destructor
[INFO] [stdout]      |                           `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  101 |                                   for addr in addrs.into_iter().flatten() {
[INFO] [stdout]      |                                       ----    ---------------------------
[INFO] [stdout]      |                                       |       |
[INFO] [stdout]      |                                       |       `iter` calls a custom destructor
[INFO] [stdout]      |                                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       `addr` calls a custom destructor
[INFO] [stdout]      |                                       `addr` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  104 | /                                             pudge_controller
[INFO] [stdout]  105 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  106 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |                                                      |
[INFO] [stdout]      | |______________________________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  109 | /                                             mirana_controller
[INFO] [stdout]  110 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  111 | |                                                 .await
[INFO] [stdout]      | |                                                  ^^^^-
[INFO] [stdout]      | |__________________________________________________|___|
[INFO] [stdout]      | |__________________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                    |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  112 | |                                         }
[INFO] [stdout]      | |                                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  131 | |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      | |                               ---    -----------------------------
[INFO] [stdout]      | |                               |      |                       |
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `err` calls a custom destructor
[INFO] [stdout]      | |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  134 | |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      | |                     ------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:131:38
[INFO] [stdout]      |
[INFO] [stdout]   92 |           while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                          -------                    -----
[INFO] [stdout]      |                          |                          |
[INFO] [stdout]      |                          |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          `msg_opt` calls a custom destructor
[INFO] [stdout]      |                          `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |               if let Some(msg) = msg_opt {
[INFO] [stdout]      |                           ---
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `msg` calls a custom destructor
[INFO] [stdout]      |                           `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  101 |                                   for addr in addrs.into_iter().flatten() {
[INFO] [stdout]      |                                       ----    ---------------------------
[INFO] [stdout]      |                                       |       |
[INFO] [stdout]      |                                       |       `iter` calls a custom destructor
[INFO] [stdout]      |                                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       `addr` calls a custom destructor
[INFO] [stdout]      |                                       `addr` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  104 | /                                             pudge_controller
[INFO] [stdout]  105 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  106 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |                                                      |
[INFO] [stdout]      | |______________________________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  109 | /                                             mirana_controller
[INFO] [stdout]  110 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  111 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |______________________________________________________|
[INFO] [stdout]      | |______________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  131 | |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      | |                               ---    ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      | |                               |      |                       |
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                               |      |                       up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                               |      up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `err` calls a custom destructor
[INFO] [stdout]      | |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  134 | |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      | |                     ------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  135 | |                 }
[INFO] [stdout]      | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:131:38
[INFO] [stdout]      |
[INFO] [stdout]  131 |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      |                               ---    ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                               |      |                       |
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                               |      |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               |      |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                               |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |      `__awaitee` calls a custom destructor
[INFO] [stdout]      |                               |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `err` calls a custom destructor
[INFO] [stdout]      |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  134 |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      |                     ------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  135 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8m 31s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:92:35
[INFO] [stdout]      |
[INFO] [stdout]   92 |           while let Some(msg_opt) = mqtt_con.next().await {
[INFO] [stdout]      |                          -------    ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                          |          |               |
[INFO] [stdout]      |                          |          |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |          |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |          this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                          |          up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          `msg_opt` calls a custom destructor
[INFO] [stdout]      |                          `msg_opt` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |               if let Some(msg) = msg_opt {
[INFO] [stdout]      |                           ---
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           `msg` calls a custom destructor
[INFO] [stdout]      |                           `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  101 |                                   for addr in addrs.into_iter().flatten() {
[INFO] [stdout]      |                                       ----    ---------------------------
[INFO] [stdout]      |                                       |       |
[INFO] [stdout]      |                                       |       `iter` calls a custom destructor
[INFO] [stdout]      |                                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       `addr` calls a custom destructor
[INFO] [stdout]      |                                       `addr` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  104 | /                                             pudge_controller
[INFO] [stdout]  105 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  106 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |                                                      |
[INFO] [stdout]      | |______________________________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  109 | /                                             mirana_controller
[INFO] [stdout]  110 | |                                                 .dial(addr.clone(), TargetProtocol::All)
[INFO] [stdout]  111 | |                                                 .await
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |______________________________________________________|
[INFO] [stdout]      | |______________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  131 | |                 while let Err(err) = mqtt_client.reconnect().await {
[INFO] [stdout]      | |                               ---    -----------------------------
[INFO] [stdout]      | |                               |      |                       |
[INFO] [stdout]      | |                               |      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `err` calls a custom destructor
[INFO] [stdout]      | |                               `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  134 | |                     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]      | |                     ------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  138 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/async_client.rs:1268:1
[INFO] [stdout]      |
[INFO] [stdout] 1268 | impl Drop for InnerAsyncClient {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/paho-mqtt-0.13.3/src/properties.rs:1080:1
[INFO] [stdout]      |
[INFO] [stdout] 1080 | impl Drop for Properties {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: marci v0.1.0 (/opt/rustwide/workdir/marci) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ckb-discovery-types v0.1.0 (/opt/rustwide/workdir/types) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: exposed v0.1.0 (/opt/rustwide/workdir/exposed) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ckb-discovery v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking ckb-discovery-types v0.1.0 (/opt/rustwide/workdir/types)
[INFO] [stderr]     Checking ckb-discovery v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking exposed v0.1.0 (/opt/rustwide/workdir/exposed)
[INFO] [stderr]     Checking marci v0.1.0 (/opt/rustwide/workdir/marci)
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         IPINFO_CACHE.get_or_init(Default::default);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 121 -     static mut IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout] 121 +     static IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         IPINFO_CACHE.get_mut().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 121 -     static mut IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout] 121 +     static IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 | /         IPINFO.get_or_init(|| {
[INFO] [stdout] 136 | |             let ipinfo_io_token = match ::std::env::var("IPINFO_IO_TOKEN") {
[INFO] [stdout] 137 | |                 Ok(token) if !token.is_empty() => Some(token),
[INFO] [stdout] 138 | |                 _ => {
[INFO] [stdout] ...   |
[INFO] [stdout] 148 | |             .expect("Connect to https://ipinfo.io")
[INFO] [stdout] 149 | |         });
[INFO] [stdout]     | |__________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 131 -     static mut IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout] 131 +     static IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         IPINFO.get_mut().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 131 -     static mut IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout] 131 +     static IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `marci` (bin "marci") due to 4 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         IPINFO_CACHE.get_or_init(Default::default);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 121 -     static mut IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout] 121 +     static IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         IPINFO_CACHE.get_mut().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 121 -     static mut IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout] 121 +     static IPINFO_CACHE: OnceLock<HashMap<String, IpDetails>> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 | /         IPINFO.get_or_init(|| {
[INFO] [stdout] 136 | |             let ipinfo_io_token = match ::std::env::var("IPINFO_IO_TOKEN") {
[INFO] [stdout] 137 | |                 Ok(token) if !token.is_empty() => Some(token),
[INFO] [stdout] 138 | |                 _ => {
[INFO] [stdout] ...   |
[INFO] [stdout] 148 | |             .expect("Connect to https://ipinfo.io")
[INFO] [stdout] 149 | |         });
[INFO] [stdout]     | |__________^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 131 -     static mut IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout] 131 +     static IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> marci/src/main.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         IPINFO.get_mut().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 131 -     static mut IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout] 131 +     static IPINFO: OnceLock<IpInfo> = OnceLock::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `marci` (bin "marci" test) due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "b81e7ac84fd7774e7c2e977fbc4358291ad7be37f23d427e1f18e85f93b4be72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b81e7ac84fd7774e7c2e977fbc4358291ad7be37f23d427e1f18e85f93b4be72", kill_on_drop: false }`
[INFO] [stdout] b81e7ac84fd7774e7c2e977fbc4358291ad7be37f23d427e1f18e85f93b4be72
